/**
 * PatchTree.h
 *
 * Author:
 *   Chris Herbison
 *
 * Description:
 *   Header file for the PatchTree class.
 */

#ifndef PATCHTREE_H
#define PATCHTREE_H

#include <vector>
#include "vecmath.h"
#include "PatchTreeNode.h"

class PatchTree{
public:
	PatchTree();

	void generateTree(vector<Point3> rootCoords, int _numDivisions, MyColor initialEnergy = MyColor(0,0,0,1));
	void generateTree(PatchTreeNode* curNode, int depth = 0);

	vector<Patch*> getPatchList();
	vector<Patch*> getPatchList(PatchTreeNode* curNode);

	PatchTreeNode root;
private:
	int numDivisions;
};

#endif